Communications device and method of operating a communications device that continues to connect local users after a link fails

ABSTRACT

A next-generation network utilizes a three-tier, cascading fault approach to providing emergency stand-alone (ESA) switching in a circuit-to-packet (C2P) network. Calls that are placed to destination numbers which are connected to the same local network device are completed even when connectivity with a community network level has been interrupted, while calls that are placed to destination numbers which are connected to the same community are completed even when connectivity with a gateway media controller has been interrupted.

The present application is a continuation of application Ser. No. 10/684,744 filed on Oct. 14, 2003 by T. Bryan Varble, et al. for Next-Generation Network that Reduces the Effect of a Service Failure.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to networks and, more particularly, to a next-generation network that reduces the effect of a service failure.

2. Description of the Related Art

Data traffic is commonly carried over a packet-switched network such as the internet. Voice traffic, on the other hand, is commonly carried over the public switched telephone network (PSTN). Voice traffic can also be broken up into packets and sent over packet-switched networks as voice-over-IP (VoIP).

With a packet-switched network, data and voice signals are broken up into a number of packets which are sent from one end to the other end by the most efficient route. This often results in packets of the same data message or telephone call being sent from one end to the other end by different routes. This differs from telephone calls sent over the PSTN where an end-to-end circuit is formed for each telephone call.

As equipment ages and is replaced by newer equipment, many carriers are migrating towards a next-generation network. FIG. 1 shows a diagram that illustrates a prior-art, next-generation network 100. As shown in FIG. 1, network 100 utilizes a number of access/media gateways 110 that are each connected to a number of customer premises 112, and a media gateway controller 114 that is connected to each access/media gateway 110.

As further shown in FIG. 1, each access/media gateway 110 is also connected to both a PSTN 116 and a data network 118, such as the internet. Access/media gateways 110 are commonly located in telephone company offices, and are connected to, for example, xDSL modems, at the customer premises 112.

Access/media gateways 110 can include, for example, DSL access multiplexers (DSLAMs) that separate voice and data signals from a customer, forward the voice signals onto PSTN 116, and forward data signals onto network 118. The call and service control logic, however, do not reside in the access/media gateways 110, but instead reside in media gateway controller 114.

One advantage of next-generation network 100 is that by placing the call control functions in media gateway controller 114, the call control functions can be concentrated in fewer locations for significant cost reductions. However, one drawback of next-generation network 100 is that when media gateway controller 114 fails or service is otherwise interrupted, significant numbers of customers are left without service for the duration of the interruption.

One solution to a failed media gateway controller 114 is to use a number of media gateway controllers 114 where the media gateway controllers 114 are used to back up each other. For example, if access/media gateway 110 is unable to contact media gateway controller 114 after a predetermined time, access/media gateway 110 responds by attempting to contact a predetermined backup controller.

In smaller markets, however, the cost of a backup media gateway controller may not be justified by the number of customers that are potentially available. As a result, there is a need for a next-generation network that reduces the effect of a service failure.

SUMMARY OF THE INVENTION

A communications device is disclosed in accordance with a first embodiment of the present invention. The communications device includes a memory to store a plurality of dialed numbers, and a state machine that is connected to the memory. The state machine determines a link status after a dialed number has been received, and determines whether the dialed number is stored in the memory when the link status indicates that a link is unavailable. The state machine also commands that an indication be output that a connection can not be made at this time when the dialed number is absent from the memory and the link status indicates that the link is unavailable. The state machine further commands that a connection be made between a first user device and a second user device when the dialed number is one of the plurality of dialed numbers stored in the memory and the link status indicates that the link is unavailable.

A communications device is disclosed in accordance with a second embodiment of the present invention. The communications device includes a local switching circuit to be directly connected to a plurality of user devices, and a state machine that is connected to the local switching circuit. The state machine determines a link status after a dialed number has been received from a first user device of the plurality of user devices. In addition, the state machine commands the local switching circuit to output an indication to the first user device that a connection can not be made at this time when the dialed number does not represent one of the plurality of user devices and the link status indicates that a link is unavailable. Further, the state machine commands the local switching circuit to make a connection between the first user device and a second user device when the dialed number represents one of the plurality of user devices and the link status indicates that the link is unavailable.

A method of operating a communications device is disclosed in accordance with a third embodiment of the present invention. The method includes detecting a dialed number that was generated by a first user device, and determining a link status. The dialed number identifies a second user device. The method also includes commanding that an indication be output to the first user device that a connection can not be made at this time when the first user device is connected by way of one of a number of downstream links, the second user device is connected by way of an upstream link, and the link status indicates that the upstream link is unavailable. The method further includes commanding that a connection be made between the first user device and the second user device when the first user device is connected by way of one of the number of downstream links, the second user device is connected by way of one of the number of downstream links, and the link status indicates that the upstream link is unavailable.

A method of operating a communications device is disclosed in accordance with a fourth embodiment of the present invention. The method includes determining a link status after a dialed number has been received from one of a plurality of user devices. The method also includes commanding that an indication be output that a connection can not be made at this time when the dialed number does not represent one of the plurality of user devices and the link status indicates that a link is unavailable. In addition, the method includes commanding that a connection be made between a first user device and a second user device when the dialed number represents one of the plurality of user devices and the link status indicates that the link is unavailable.

A better understanding of the features and advantages of the present invention will be obtained by reference to the following detailed description and accompanying drawings that set forth an illustrative embodiment in which the principles of the invention are utilized.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating a prior-art, next-generation network 100.

FIG. 2 is a diagram illustrating an example of a next-generation network 200 in accordance with the present invention.

FIG. 3 is a flow chart illustrating an example of a method of operating a TSA device in accordance with the present invention.

FIG. 4 is a flow chart illustrating an example of a method of operating a community service area (CSA) media gateway in accordance with the present invention.

FIG. 5 is a map of a city illustrating network 200 overlaid on the map in accordance with the present invention.

FIG. 6 is a map of the city illustrating network 200 overlaid on the map with a first failure condition in accordance with the present invention.

FIG. 7 is a map of the city illustrating network 200 overlaid on the map with a second failure condition in accordance with the present invention.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 2 shows a diagram that illustrates an example of a next-generation network 200 in accordance with the present invention. As shown in FIG. 2, network 200 includes a media gateway controller 210 (which has a network provisioning database), and a number of community service area (CSA) media gateways 212 that are each connected to media gateway controller 210.

As further shown in FIG. 2, network 200 includes a number of termination service area (TSA) devices 214 that have a number of groups of TSA devices that are each connected to a CSA media gateway 212. Each TSA device 214 is connected to a number of customer devices, such as xDSL modems, at a number of customer premises 216, the public switched telephone network (PTSN) 220, and a data network 222.

In addition, each TSA device 214 has a gateway processing engine (GPE) 224 that executes software that implements a portion of a method of the present invention. GPE 224 includes a memory 226 that stores the software and data. The software includes an operating system and a set of program instructions. The operating system can be implemented with, for example, the Linux operating system, although other operating systems can alternately be used. The program instructions can be written in, for example, C++ although other languages can alternately be used.

GPE 224 also includes a central processing unit (CPU) 230 that is connected to memory 226. CPU 230, which can be implemented with, for example, a 32-bit processor, operates on the data in response to the program instructions. Although only one processor is described, the present invention can be implemented with multiple processors in parallel to increase the capacity to process large amounts of data. GPE 224 additionally includes network circuitry 232 that is connected to CPU 230 that allows memory 226 and CPU 230 to be externally loaded and configured.

Further, each TSA device 214 has a database 234 that lists each dialed number (DN) that is connected to the TSA device 214, and a state machine 236 that is connected to CPU 230 and database 234. State machine 236 executes a portion of a method of the present invention.

In addition, each TSA device 214 has local switching circuitry 238 that is connected to state machine 236 that allows connections between local subscribers (connected to the same TSA device) to be made. Each TSA device 214 is responsible for all call control signaling, such as tone generation, tone and loop signal termination, and conversion to, for example, H.248 signaling (an ITU standard) or Megaco signaling (an IETF standard). (H.323, MGCP, SIP, SIP+T and other signaling can also be used.) Each TSA device 214 supplies dial tone and digit collection, as well as normal ringing and call control. Further, each TSA device 214 also serves as the voice packetization gateway.

Similarly, each CSA media gateway 212 has a database 240 that lists each TSA device 214 that is connected to the CSA media gateway 212, and each DN that is connected to each TSA device 214. Each CSA media gateway 212 also has a state machine 242 that executes a method of the present invention.

In addition, each CSA media gateway 212 has community switching circuitry 244 that is connected to state machine 242 that allows connections between community subscribers (connected to the same CSA media gateway) to be made. Each CSA media gateway 212 is responsible for packetized bearer-path switching of CSA media gateway call traffic.

However, as an aggregation switching node, the call control is significantly more complex. To function transparently with the media gateway controller and the TSA devices, the CSA media gateway acts as an H.248 signaling router within the network. That is, under normal operations, the CSA media gateway maintains a control link with the media gateway controller. The CSA media gateway then forwards media gateway controller signaling onto the TSA devices via another control link. In this way, if the media gateway controller to CSA media gateway link fails, the TSA devices never see the “link failure” condition.

FIG. 3 shows a flow chart that illustrates an example of a method of operating a TSA device in accordance with the present invention. As shown in FIG. 3, the method begins at step 310 by detecting an off-hook condition from a first user device. For example, when a user wishes to make a telephone call, the user places the telephone (the first user device) in an off-hook state by picking up the telephone.

When the TSA device detects an off-hook condition, the method moves to step 312 where the TSA device determines a dialed number that identifies a second user device. For example, after the user picks up the telephone, the user dials a sequence of numbers that identifies the telephone of another user.

Once the dialed number has been determined, the method moves to step 314 where the TSA device forwards the dialed number to a CSA media gateway which, in turn, forwards the dialed number to the media gateway controller. The media gateway controller determines how the call initiated by the customer is to be handled, e.g., switched into the PSTN or packetized and routed.

Once the media gateway controller determines the forwarding information for the dialed number, the media gateway controller sends the forwarding information to the CSA media gateway which, in turn, sends the forwarding information to the TSA device that originally collected the dialed number.

During this time, the method moves to step 316 to determine if the forwarding information for the dialed number has been received. When the forwarding information has been received, the method moves to step 318 to output the call by either switching the call onto the PSTN or packetizing and routing the call over a data network.

When the forwarding information has not yet been received, the method moves from step 316 to step 320 to determine a link status. In step 320, the link status identifies the status of the connection with the CSA media gateway and can be determined by, for example, checking a register that is set when the CSA media gateway has not been heard from for a predetermined time out period.

When the link status indication is positive, the method returns to step 316 to determine if the forwarding information for the dialed number has been received. Thus, the method continues to loop until the forwarding information has been received, or the link status indicates that the connection with the CSA media gateway is negative.

When the link status indication is negative, the method moves to step 322 where the state machine of the TSA device looks up the dialed number in the device database to determine if the dialed number is in the device database. When the dialed number is in the device database, the second user device (the telephone of the called user) is a local subscriber that is also connected to the same TSA device. When the dialed number is not in the device database, the second user device is not a local subscriber (is connected to a different TSA device).

When the dialed number is in the device database, the method moves to step 324 where the local switching circuitry of the TSA device makes an end-to-end connection between the first user device and the second user device. 911 calls are routed to a predefined set of numbers (e.g., local fire stations, hospitals) that are connected to the same TSA device as the originating caller. (The predefined numbers can be utilized in a virtual hunt group that provides connections in a hunt group order.)

On the other hand, when the dialed number is not in the device database, the method moves from step 322 to step 326 where the TSA device returns an indication to the first user device that a connection can not be made at this time. In the present example, steps 322-326 can be implemented by a call-control state machine that only takes effect when the link status indication in step 320 is negative.

In the present example, advanced services such as Caller ID and *69 are not available when the link status is negative. Thus, from a subscriber's perspective, the telephone functions normally as long as the “called party” is also a local subscriber. Any other destination number results in, for example, a “fast busy” out-of-service indication.

FIG. 4 shows a flow chart that illustrates an example of a method of operating a CSA media gateway in accordance with the present invention. As shown in FIG. 4, the method begins at step 410 by detecting a dialed number from a requesting TSA device. When a dialed number is detected, the method moves to step 412 to forward the dialed number to a media gateway controller.

As above, the media gateway controller determines how the call initiated by the user is to be handled, e.g., switched into the PSTN or packetized and routed. Once the media gateway controller determines the forwarding information for the dialed number, the media gateway controller sends the forwarding information to the CSA media gateway.

During this time, the method moves to step 414 to determine if the forwarding information for the dialed number has been received. When the forwarding information has been received, the method moves to step 416 to send the forwarding information to the TSA device that originally collected the dialed number.

When the forwarding information has not yet been received, the method moves from step 414 to step 420 to determine a link status. In step 420, the link status identifies the status of the connection with the media gateway controller and can be determined by checking a register that is set when the media gateway controller has not been heard from for a predefined time out period.

When the link status indication is positive, the method returns to step 414 to determine if the forwarding information for the dialed number has been received. Thus, the method continues to loop until the forwarding information has been received, or the link status indicates that the connection with the media gateway controller is negative.

When the link status indication is negative, the method moves to step 422 where the state machine of the CSA device looks up the dialed number in the CSA database to determine if the dialed number is in the CSA database. When the dialed number is in the CSA database, the second user device (the telephone of the called user) is a community subscriber that is also connected to the same CSA media gateway. When the dialed number is not in the CSA database, the second user device is not a community subscriber (is connected to a different CSA media gateway).

When the dialed number is in the CSA database, the method moves to step 424 where the community switching circuitry of the CSA media gateway makes an end-to-end connection between the first user device and the second user device. 911 calls are routed to a predefined community terminations, whether local numbers (e.g., local fire stations, hospitals) or 911 tandem trunks.

On the other hand, when the dialed number is not in the CSA database, the method moves to step 426 where the CSA media gateway returns an indication that a connection can not be made at this time to the requesting TSA device which, in turn, forwards the indication to the first user device.

Due to its larger geographic footprint, a CSA media gateway in stand-alone mode (when the link status is negative) may retain access to long-distance and 911 outbound trunks. In the present example, the CSA media gateway does not support normal trunking in the stand-alone mode. Instead, “off-CSA” calls receive an out-of-service indication, while 911 calls are routed to the emergency virtual hunt groups.

FIG. 5 shows a map of a city that illustrates network 200 overlaid on the map in accordance with the present invention. As shown in FIG. 5, media gateway controller 210, which can be implemented with, for example, a Model No. CS2000 Media Gateway Controller sold by Nortel, is centrally located in the city.

As further shown in FIG. 5, four CSA media gateways 212, which are each connected to media gateway controller 210, are generally located in the four quadrants of the city. The CSA media gateways 212 can be implemented with, for example, TelliantMG CSA switches sold by Advanced Fiber Communications, which have been modified to include the present invention. CSA switches can include any number of total lines, such as 50,000 lines [non-blocking].

The four CSA media gateways 212 are connected to a total of 24 TSA devices 214 which, in turn, provide service to the users of the city. The TSA devices 214, which can be located in the local offices of the telephone company, can be implemented with, for example, an AccessMAX sold by Advanced Fiber Communications, which has been modified to include the present invention.

FIG. 6 shows a map of the city that illustrates network 200 overlaid on the map with a first failure condition in accordance with the present invention. As shown in FIG. 6, media gateway controller 210 and the two southern CSA media gateways 212 have failed or are otherwise unavailable. The resulting service footprints are indicated by the dotted lines C1, C2, T11-16, and T21-T26.

The dotted lines C1 and C2 indicate that calls placed within these community zones continue to be made, while calls placed outside of lines C1 and C2 are temporarily unavailable. The dotted lines T11-T16 and T21-T26 indicate that calls placed within these smaller local zones continue to be made, while calls placed outside of lines T11-T16 and T21-T26 are temporarily unavailable, e.g., calls placed within lines T11 continue to be made, while calls placed outside of lines T11 are temporarily unavailable. In this example, two different service tiers are operating simultaneously based on the CSA media gateway availability.

FIG. 7 shows a map of the city that illustrates network 200 overlaid on the map with a second failure condition in accordance with the present invention. As shown in FIG. 7, media gateway controller 210 and all four of the CSA media gateways 212 have failed or are otherwise unavailable. The resulting service footprints are indicated by the dotted lines T11-16, T21-T26, T31-T35, and T41-47. Despite this complete outage, all of the TSA devices continue to supply emergency 911 and TSA-level calling.

Thus, the present invention provides emergency stand-alone (ESA) switching in a circuit-to-packet (C2P) network. The network of the present invention utilizes a three-tier, cascading fault approach with contracting service plateaus at each level, i.e., the community level and the local level.

One of the advantages of the present invention is that the present invention changes the next-generation network topology from a flat, one-deep star to a hierarchical, three-deep tree. This allows carriers the ability to retain much of the resilience of the legacy class 5 network (where switching determinations are made at the edge of the network), while still deploying distributed next-generation services and equipment.

Another advantage is that the present invention allows arbitrary-sized community groupings of subscribers, thereby removing the material line limits. In addition, the present invention distributes call control logic within a carrier's network which, in turn, provides a level of network resiliency (all tone and loop signal termination and conversion to H.248 MeGaCo signaling are performed by a TSA device 214, while packetized bearer-path switching and H.248 signal routing are performed by a CSA media gateway.

As a result, the present invention scales upwards based on network performance and business needs and is not limited by specific line sizes. Further, the geographical isolation hierarchy allows carriers to supply stable, controlled, service degradation in the event that a media gateway controller fails or is otherwise unavailable.

It should be understood that the above descriptions are examples of the present invention, and that various alternatives of the invention described herein may be employed in practicing the invention. For example, TSA devices can be directly connected to a media gateway controller. Thus, it is intended that the following claims define the scope of the invention and that structures and methods within the scope of these claims and their equivalents be covered thereby. 

1. A communications device comprising: a memory to store a plurality of dialed numbers; and a state machine connected to the memory, the state machine to determine a link status after a dialed number has been received, determine whether the dialed number is stored in the memory when the link status indicates that a link is unavailable, command that an indication be output that a connection can not be made at this time when the dialed number is absent from the memory and the link status indicates that the link is unavailable, and command that a connection be made between a first user device and a second user device when the dialed number is one of the plurality of dialed numbers stored in the memory and the link status indicates that the link is unavailable.
 2. The communications device of claim 1 wherein the first user device generates the dialed number, and the dialed number identifies the second user device.
 3. The communications device of claim 1 and further comprising a switching circuit connected to the state machine, the switching circuit to make the connection between the first user device and the second user device.
 4. The communications device of claim 3 wherein the switching circuit is a local circuit directly connected to a plurality of user devices, the plurality of user devices including the first and second user devices.
 5. The communications device of claim 4 wherein a user device of the plurality of user devices is an xDSL device.
 6. The communications device of claim 3 wherein the switching circuit is a community circuit that is connected to a plurality of user devices by way of a network device, the plurality of user devices including the first and second user devices.
 7. The communications device of claim 6 wherein a user device of the plurality of user devices is an xDSL device.
 8. A communications device comprising: a local switching circuit to be directly connected to a plurality of user devices; and a state machine connected to the local switching circuit, the state machine to determine a link status after a dialed number has been received from a first user device of the plurality of user devices, command the local switching circuit to output an indication to the first user device that a connection can not be made at this time when the dialed number does not represent one of the plurality of user devices and the link status indicates that a link is unavailable, and command the local switching circuit to make a connection between the first user device and a second user device when the dialed number represents one of the plurality of user devices and the link status indicates that the link is unavailable.
 9. The communications device of claim 8 wherein the dialed number identifies the second user device.
 10. The communications device of claim 9 and further comprising a memory connected to the state machine, the memory to store a plurality of user numbers, the plurality of user numbers representing the plurality of user devices.
 11. The communications device of claim 10 wherein the state machine determines whether the dialed number matches a user number stored in the memory.
 12. A method of operating a communications device comprising: detecting a dialed number that was generated by a first user device, the dialed number identifying a second user device; determining a link status; commanding that an indication be output to the first user device that a connection can not be made at this time when the first user device is connected by way of one of a number of downstream links, the second user device is connected by way of an upstream link, and the link status indicates that the upstream link is unavailable; and commanding that a connection be made between the first user device and the second user device when the first user device is connected by way of one of the number of downstream links, the second user device is connected by way of one of the number of downstream links, and the link status indicates that the upstream link is unavailable.
 13. The method of claim 12 and further comprising commanding that the dialed number be forwarded to a network device.
 14. The method of claim 13 wherein the link status is determined by reading a register, the register being set to indicate that the upstream link is unavailable when no message has been received from the network device for a predetermined time out period.
 15. The method of claim 13 and further comprising detecting whether forwarding information has been received from the network device in response to forwarding the dialed number to the network device.
 16. The method of claim 15 and further comprising commanding that a connection be made between the first user device and the second user device when forwarding information has been received from the network device in response to forwarding the dialed number to the network device.
 17. A method of operating a communications device comprising: determining a link status after a dialed number has been received from one of a plurality of user devices; commanding that an indication be output that a connection can not be made at this time when the dialed number does not represent one of the plurality of user devices and the link status indicates that a link is unavailable, and commanding that a connection be made between a first user device and a second user device when the dialed number represents one of the plurality of user devices and the link status indicates that the link is unavailable.
 18. The method of claim 17 and further comprising determining whether the dialed number is stored in a memory when the link status indicates that the link is unavailable, the memory storing a plurality of user numbers, the plurality of user numbers representing the plurality of user devices.
 19. The method of claim 17 and further comprising commanding that the dialed number be forwarded to a network device.
 20. The method of claim 19 wherein the link status is determined by reading a register, the register to be set to indicate that the link in unavailable when no message has been received from the network device for a predetermined time out period.
 21. The method of claim 20 and further comprising detecting whether forwarding information has been received from the network device in response to forwarding the dialed number to the network device.
 22. The method of claim 21 and further comprising commanding that a connection be made between the first user device and the second user device when forwarding information has been received from the network device in response to forwarding the dialed number to the network device. 